﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TMD.GT.Site.Controladora;
using TMD.GT.Entidades;

namespace TMD.GT.Site.Vistas.MonitoreoComponente
{
    public partial class SeleccionarCicloRevision : System.Web.UI.Page
    {
        private int codigoComponente;

        protected void Page_Load(object sender, EventArgs e)
        {
            Object codigocr = Request.QueryString["ID_ciclorevision"];
            Object codigoco = Request.QueryString["ID_componente"];
            if (codigoco != null)
            {
                codigoComponente = Convert.ToInt32(codigoco);
            }

            if (codigocr != null)
            {
                int CODIGOCR = Convert.ToInt32(codigocr);
                List<CicloRevision> lista = CicloRevisionControladora.ListarCiclosRevision(new CicloRevision { CODIGO_CICLOREVISION = CODIGOCR, DESCRIPCION = "", CODIGO_COMPONENTE = codigoComponente });
                CicloRevision cicloRevision = lista.First<CicloRevision>();
                txtCodigo.Text = Convert.ToString(cicloRevision.CODIGO_CICLOREVISION);

                txtDescripcion.Text = cicloRevision.DESCRIPCION;
                txtFechaIni.Text = cicloRevision.FECHA_INICIO.ToString("yyyy-MM-dd");
                txtFechaFin.Text = cicloRevision.FECHA_FIN.ToString("yyyy-MM-dd");
                // Estado pendiente
            }
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            Boolean exito = false;
            String cssMsg = "ui-state-highlight ui-corner-all";
            String cssInfo = "info";
            String cssError = "error";
            String msg = "";

            CicloRevision cicloRevision = new CicloRevision();
            cicloRevision.DESCRIPCION = txtDescripcion.Text;
            cicloRevision.FECHA_INICIO = DateTime.Parse(txtFechaIni.Text);
            cicloRevision.FECHA_FIN = DateTime.Parse(txtFechaFin.Text);
            cicloRevision.CODIGO_COMPONENTE = codigoComponente;

            if (txtCodigo.Text == "")
            {
                // Nuevo Ciclo Revision

                CicloRevisionControladora.CrearCicloRevision(cicloRevision);
                txtCodigo.Text = Convert.ToString(cicloRevision.CODIGO_CICLOREVISION);
                
                exito = (cicloRevision.CODIGO_CICLOREVISION > 0);
                if (exito) { msg = "Ciclo de Revisión agregado correctamente"; }
                else { msg = "No se puso agregar el Ciclo de Revisión"; }
            }
            else
            {
                // Actualizar Ciclo Revision
                cicloRevision.CODIGO_CICLOREVISION = Convert.ToInt32(txtCodigo.Text);
                cicloRevision.ESTADO = "1";

                exito = CicloRevisionControladora.ActualizarCicloRevision(cicloRevision);
                if (exito) { msg = "Ciclo de Revisión actualizado correctamente"; }
                else { msg = "No se puso actualizar el Ciclo de Revisión"; }
            }

            if (exito) { mensajePanel.CssClass = cssMsg + " " + cssInfo; }
            else { mensajePanel.CssClass = cssMsg + " " + cssError; }
            mensajePanel.Visible = true;
            lblMensaje.Text = msg;
        }

        protected void btnRegresar_Click(object sender, EventArgs e)
        {
            Response.Redirect("ActCiclosRev-Listado.aspx?ID_componente="+codigoComponente);
        }
    }
}